草庐IT

c++ - DrawText VS TextOut Win32

全部标签

c - 如何将一个 8 位颜色值拆分为两个 4 位颜色值?

所以我写了一个程序,读取位图并使用windows.h打印到控制台。Windows(在控制台中)允许我为每个字符空间设置两种颜色-前景色和背景色。我仅限于这些颜色的4位调色板:http://www.infotart.com/blog/wp-content/uploads/2008/06/windows_4bit_color_swatches.png我的程序适用于16种颜色,但我无法计算出256种颜色。(或者弄清楚它是否可能)我需要获取索引颜色的RGB值(来自256种8位颜色,例如224、64、0)并将其显示为16种可用颜色中的两种,其中一种经过抖动处理。前景字符将是ASCII抖动字符之一

c++ - 在 Windows 下编程 FireWire/IEEE 1394

我正在使用libraw1394库,它可以直接访问Linux中的IEEE1394总线。它非常易于使用,我想知道是否有适用于Windows的类似libraw1394的东西?一般来说,我如何在Windows中访问IEEE1394总线?DDK是唯一的方法吗?UPD。我找到了VHPD1394。一种特殊的设备驱动程序,它为Win32应用程序提供对IEEE1394设备的直接访问。文档指出它可以与任何类型的IEEE1394设备一起使用,使应用程序开发人员无需开发内核模式WDM驱动程序即可控制设备。编程接口(interface)支持C、C++和Delphi。不幸的是它不是免费的!UPD.FreddieW

java - 在控制面板中查找图标名称

有没有办法获取Windows控制面板中图标的名称,并找出它们的坐标?还有一个问题-如果我正在运行一个包含按钮的应用程序,是否有可能获取按钮的名称,如string? 最佳答案 http://msdn.microsoft.com/en-us/library/ee330741(v=VS.85).aspx列出每个控制面板项目的“规范名称”。例如,Microsoft.DateAndTime用于设置您的日期和时间。http://msdn.microsoft.com/en-us/library/cc144191(v=VS.85).aspx展示了如

windows - Haskell 32 位程序在 64 位 Windows 上卡住

我正在使用GHC在名为citeproc-hs的特定(Haskell-)库的帮助下为Windows构建一个haskell程序。在32位WindowsXP机器上,应用程序工作正常,而在另一个Windows764位环境(在3台不同的PC上测试)上,“读取特定文件(“样式”文件)的库的函数只是卡住而没有任何错误消息。我使用相同的.exe文件,但存在我无法解释的不同行为。可能存在一些关于32位Haskell的已知问题-在64位环境中编译,或者有人知道我如何解决这个奇怪的问题吗?提前致谢! 最佳答案 我在生产环境中的64位Windows上使用G

c - 有没有可能获得函数的内存入口点?

我使用CreateProcess()在我的进程中创建了一个子进程并暂停了该子进程。我可以在子进程的内存中获取主入口点,但是我应该如何获取子进程的函数入口点呢?这就是我获取子进程主入口点的方式DWORDFindEntryPointAddress(TCHAR*exeFile){BY_HANDLE_FILE_INFORMATIONbhfi;HANDLEhMapping;char*lpBase;HANDLEhFile=CreateFile(exeFile,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);if(hFile==INVA

c - 有什么方法可以反编译用古代编译器构建的二进制资源文件?

我正在尝试恢复1990年代使用BorlandTurboC++(版本未知,也许是3.0,也许是4.5?)构建的应用程序,并且显然是针对Windows3.1的。该项目包含一个.c文件和一个.res文件。我没有试图找到古老的编译器,而是调整了C源代码使其与MinGWgccver4.5.2兼容,认为我可以为win32重建它。不幸的是,这是主窗口是对话框的Windows程序之一,对话框规范嵌入在.res文件中。当然,现代MinGWgcc不理解旧的.res格式。那么有没有办法从1990年代的老式Borland.res文件中恢复.rc文件?我知道像这样编译旧的16位Windows代码会有其他问题,但

c - 通过 mingw 编译 win32 项目时缺少 sal.h

错误信息:fatalerror:sal.h:Nosuchfileordirectorycstudyline11,externallocation:C:\ProgramFiles\MicrosoftSDKs\Windows\v7.0A\Include\specstrings.hC/C++Problem.但是当我将VC/include添加到这个项目时,我收到了大量的错误信息。VC/include/sal.h似乎不是GCC的标准头文件。源码很简单:#include"windows.h"intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInst

c++ - Exe 不能在旧版本的 Windows 上运行

我有一个Win32C++应用程序,我已在运行Windows7的PC上使用MicrosoftVisualStudioC++express2010编译该应用程序。该应用程序是在Release模式下编译的,带有\MT运行时标志(多线程)。我的问题:当我尝试在运行WindowsVista的笔记本电脑上运行我的.exe时,应用程序崩溃并且永远不会打开主窗口。我使用的.exe是visualstudio项目的“release”文件夹的输出。我已经检查了应用程序中的大部分win32函数,它们都可以在windows2000及更高版本上运行。我还将VisualStudio项目移到WindowsVista笔

c - 我如何知道外部 DLL 是否进入函数?

我有一个使用外部DLL的Win32应用程序(控制台应用程序)。DLL导出两个函数(Run和SecretFunction),我需要知道DLL何时进入SecretFunction。我在运行时加载DLL(我通过命令行参数获取路径)。我无法使用共享事件。我得到的两个提示是对异常方法使用一些类似的逻辑,并可能使用VirtualQuery/VirtualProtect。有人能指出我正确的方向吗?澄清:我的程序将调用Run函数。Run函数可能调用也可能不调用SecretFunction。我想从我的程序中知道是否调用了SecretFunction。我有以下代码,所以我有函数的地址:pfn_Secret

windows - 在 Win32 GUI 应用程序中使用标准输出 : crashes if I don't have a redirect to file in arguments

我正在构建一个Win32GUI应用程序。在该应用程序中,我使用了一个旨在用于命令行应用程序的DLL。假设Foo.exe是我的GUI应用程序,而bar()是DLL中的一个函数,它将“hello”打印到标准输出。Foo.exe调用bar()。如果我从命令行运行Foo.exe,重定向(>)(即Foo.exe>out.txt),它将“hello”写入out.txt并正常退出(如预期的那样)。但是,如果我运行Foo.exe而不重定向(从cmd.exe或通过在Windows资源管理器中双击),它会在调用bar()时崩溃。如果我在调试器中运行Foo.exe,在命令行中使用重定向(通过项目的VS属性设